package br.uece.comp.paa;

import java.util.LinkedList;
import java.util.List;

import br.uece.comp.paa.entity.grafo.Grafo;
import br.uece.comp.paa.entity.param.Retorno;
import br.uece.comp.paa.gui.PAAFrame;

public class ProjetoApp {

	public static ProjetoApp app;

	private PAAFrame principalGUI;

	/**
	 * Grafo corretemente em uso para a aplicação dos métodos e exibição.
	 */
	private Grafo grafo;

	private List<Retorno> agms = new LinkedList<Retorno>();

	/**
	 * Constroi uma instância da aplição, exibindo a interface gráfica.
	 */
	private ProjetoApp() {
		principalGUI = new PAAFrame();
		principalGUI.setVisible(true);
	}

	/**
	 * @param args
	 *            the command line arguments
	 */
	public static void main(String args[]) {
		java.awt.EventQueue.invokeLater(new Runnable() {
			public void run() {
				app = new ProjetoApp();
			}
		});
	}

	/**
	 * 
	 * @param g
	 *            grafo a ser colocado como o padr�o da aplica��o.
	 */
	public void setGrafo(Grafo g) {
		grafo = g;
	}

	/**
	 * 
	 * @return Grafo padr�o da aplica��o.
	 */
	public Grafo getGrafo() {
		return grafo;
	}

	public PAAFrame getPrincipal() {
		return principalGUI;
	}

	public List<Retorno> getAgms() {
		return agms;
	}

	public void setAgms(List<Retorno> agms) {
		this.agms = agms;
	}

}
